#ifndef __MYSTRING_H__
#define __MYSTRING_H__

#define true 1
#define false 2

#define Init_MyString(obj,string) MyString obj;\
                                Initialize(&obj,string)
typedef struct String MyString;
struct String
{
    char *string;
    int size;
    int cubage;
    void (*print)(MyString *obj);
    int (*Size)(MyString *obj);
    int (*isEqual)(MyString *obj1,MyString *obj2);
    int (*isContains)(MyString*dest,MyString*src);
    char* (*atIndex)(MyString *obj,int index);
    void (*removeString)(MyString *obj,const char *str);
    int (*insertString)(MyString *obj,const char *str,int index);

};

void Initialize(MyString *obj,const char *str);
void FreeString(MyString *obj);



// void Initialize(MyString *obj,const char *str);


// void Print(MyString *obj);
// int Size(MyString *obj);
// int IsEqual(MyString *obj1,MyString *obj2);
// int IsContains(MyString*dest,MyString*src);
// char* AtIndex(MyString *obj,int index);
// void RemoveString(MyString *obj,const char *str);
// void InsertString(MyString *obj,const char *str,int index);


#endif